From: jenkins-bot Date: Tue, 24 May 2016 03:29:28 +0000 (+0000) Subject: Merge "Avoid invidual LinkCache lookups in Linker::makeBrokenImageLinkObj()" X-Git-Tag: 1.31.0-rc.0~6847 X-Git-Url: http://git.cyclocoop.org//%22http:/%22.attribut_html%28%24lesurls%5B%24numero%5D%29.%22/%22?a=commitdiff_plain;h=f8cc99ea9885103ed4ee23b83efc003d24c98450;hp=-c;p=lhc%2Fweb%2Fwiklou.git Merge "Avoid invidual LinkCache lookups in Linker::makeBrokenImageLinkObj()" --- f8cc99ea9885103ed4ee23b83efc003d24c98450 diff --combined includes/Linker.php index 90c5cd49fb,66cf325d67..f4131ed40f --- a/includes/Linker.php +++ b/includes/Linker.php @@@ -940,7 -940,15 +940,15 @@@ class Linker $redir = RepoGroup::singleton()->getLocalRepo()->checkRedirect( $title ); if ( $redir ) { - return self::linkKnown( $title, $encLabel, [], wfCgiToArray( $query ) ); + // We already know it's a redirect, so mark it + // accordingly + return self::link( + $title, + $encLabel, + [ 'class' => 'mw-redirect' ], + wfCgiToArray( $query ), + [ 'known', 'noclasses' ] + ); } $href = self::getUploadUrl( $title, $query ); @@@ -950,7 -958,7 +958,7 @@@ $encLabel . ''; } - return self::linkKnown( $title, $encLabel, [], wfCgiToArray( $query ) ); + return self::link( $title, $encLabel, [], wfCgiToArray( $query ), [ 'known', 'noclasses' ] ); } /** @@@ -1084,16 -1092,7 +1092,16 @@@ if ( !$title ) { $title = $wgTitle; } - $attribs['rel'] = Parser::getExternalLinkRel( $url, $title ); + $newRel = Parser::getExternalLinkRel( $url, $title ); + if ( !isset( $attribs['rel'] ) || $attribs['rel'] === '' ) { + $attribs['rel'] = $newRel; + } elseif ( $newRel !== '' ) { + // Merge the rel attributes. + $newRels = explode( ' ', $newRel ); + $oldRels = explode( ' ', $attribs['rel'] ); + $combined = array_unique( array_merge( $newRels, $oldRels ) ); + $attribs['rel'] = implode( ' ', $combined ); + } $link = ''; $success = Hooks::run( 'LinkerMakeExternalLink', [ &$url, &$text, &$link, &$attribs, $linktype ] ); @@@ -1881,9 -1880,7 +1889,9 @@@ * work if $wgShowRollbackEditCount is disabled, so this can only function * as an additional check. * - * If the option noBrackets is set the rollback link wont be enclosed in [] + * If the option noBrackets is set the rollback link wont be enclosed in "[]". + * + * See the "mediawiki.page.rollback" module for the client-side handling of this link. * * @since 1.16.3. $context added in 1.20. $options added in 1.21 * @@@ -1913,8 -1910,6 +1921,8 @@@ $inner = $context->msg( 'brackets' )->rawParams( $inner )->escaped(); } + $context->getOutput()->addModules( 'mediawiki.page.rollback' ); + return '' . $inner . ''; } @@@ -2009,13 -2004,11 +2017,13 @@@ $query = [ 'action' => 'rollback', 'from' => $rev->getUserText(), - 'token' => $context->getUser()->getEditToken( [ - $title->getPrefixedText(), - $rev->getUserText() - ] ), ]; + $attrs = [ + 'data-mw' => 'interface', + 'title' => $context->msg( 'tooltip-rollback' )->text(), + ]; + $options = [ 'known', 'noclasses' ]; + if ( $context->getRequest()->getBool( 'bot' ) ) { $query['bot'] = '1'; $query['hidediff'] = '1'; // bug 15999 @@@ -2040,16 -2033,27 +2048,16 @@@ } if ( $editCount > $wgShowRollbackEditCount ) { - $editCount_output = $context->msg( 'rollbacklinkcount-morethan' ) + $html = $context->msg( 'rollbacklinkcount-morethan' ) ->numParams( $wgShowRollbackEditCount )->parse(); } else { - $editCount_output = $context->msg( 'rollbacklinkcount' )->numParams( $editCount )->parse(); + $html = $context->msg( 'rollbacklinkcount' )->numParams( $editCount )->parse(); } - return self::link( - $title, - $editCount_output, - [ 'title' => $context->msg( 'tooltip-rollback' )->text() ], - $query, - [ 'known', 'noclasses' ] - ); + return self::link( $title, $html, $attrs, $query, $options ); } else { - return self::link( - $title, - $context->msg( 'rollbacklink' )->escaped(), - [ 'title' => $context->msg( 'tooltip-rollback' )->text() ], - $query, - [ 'known', 'noclasses' ] - ); + $html = $context->msg( 'rollbacklink' )->escaped(); + return self::link( $title, $html, $attrs, $query, $options ); } } diff --combined tests/parser/parserTests.txt index c9e78876dc,e93aa7e09c..910e9ae512 --- a/tests/parser/parserTests.txt +++ b/tests/parser/parserTests.txt @@@ -2265,15 -2265,6 +2265,15 @@@ Entities inside
 inside of #tag:pre
 +!! wikitext
 +{{#tag:pre|Foo →bar}}
 +!! html
 +
Foo →bar
+ +!! end + !! test and
 preference (first one wins)
  !! wikitext
@@@ -13159,7 -13150,7 +13159,7 @@@ Image with link parameter, wgExternalLi
  !! config
  wgExternalLinkTarget='foobar'
  !! html/php
 -

Foobar.jpg +

Foobar.jpg

!! end @@@ -13193,7 -13184,7 +13193,7 @@@ Image with link parameter, wgExternalLi !! config wgExternalLinkTarget='foobar' !! html/php -

Title +

Title

!! end @@@ -13953,7 -13944,7 +13953,7 @@@ Redirected imag !! wikitext [[Image:Barfoo.jpg]] !! html/php -

File:Barfoo.jpg +

File:Barfoo.jpg

!! end